package com.example.wuyeguanli.tools;

public class DataValidator {

    // 正则表达式常量
    public static final String REGEX_PHONE_NUMBER = "^[1-9]\\d{10}$";
    public static final String REGEX_CHINESE_NAME = "^[\\u4e00-\\u9fa5]{2,10}$";
    public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,12}$";
    public static final String REGEX_ROOM_NUMBER = "^\\d{6}$";

    /**
     * 验证电话号是否合法 (第一位不为0, 11位数字)
     * @param phone 待验证的电话号
     * @return 如果合法返回 true, 否则返回 false
     */
    public static boolean isValidPhoneNumber(String phone) {
        if (phone == null) return false;
        return phone.matches(REGEX_PHONE_NUMBER);
    }

    /**
     * 验证名字是否合法 (2-10位中文)
     * @param name 待验证的名字
     * @return 如果合法返回 true, 否则返回 false
     */
    public static boolean isValidName(String name) {
        if (name == null) return false;
        return name.matches(REGEX_CHINESE_NAME);
    }

    /**
     * 验证密码是否合法 (6-12位字母或数字)
     * @param password 待验证的密码
     * @return 如果合法返回 true, 否则返回 false
     */
    public static boolean isValidPassword(String password) {
        if (password == null) return false;
        return password.matches(REGEX_PASSWORD);
    }

    /**
     * 验证房间号是否合法 (6位数字)
     * @param roomNumber 待验证的房间号
     * @return 如果合法返回 true, 否则返回 false
     */
    public static boolean isValidRoomNumber(String roomNumber) {
        if (roomNumber == null) return false;
        return roomNumber.matches(REGEX_ROOM_NUMBER);
    }

    /**
     * 检查文本是否不为空 (非null, 非纯空格)
     * @param text 待检查的文本
     * @return 如果不为空返回 true, 否则返回 false
     */
    public static boolean isNotEmpty(String text) {
        return text != null && !text.trim().isEmpty();
    }
}